package com.hhkj.study.api.user.model.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hhkj.study.admin.course.entity.CourseStructureBase;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * @Author luowu
 * @Date 2024/10/12 涵 13:17:13
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ApiCustomerUserCourseStructureRes extends CourseStructureBase {

    /**
     * 视频总时长(s)
     */
    private Long videoDuration;

    /**
     * 视频学习状态0-未学习 1-学习中 2-已学习
     */
    private Integer videoListenStatus;

    /**
     * 直播地址
     */
    private String liveUrl;

    /**
     * 资料地址
     */
    private String docUrl;

    /**
     * 资料大小
     */
    private String docSize;

    /**
     * 直播类型时关联的视频id
     */
    private Long videoId;

    /**
     * 视频url
     */
    private String videoUrl;

    /**
     * 题库学习状态0-未练习 1-已完成
     */
    private Integer questionBankStudyStatus;

    /**
     * 做对题数
     */
    private Integer questionBankCorrectCount;
    /**
     * 做题数量
     */
    private Integer questionBankDoCount;
    /**
     * 总题数
     */
    private Integer questionBankTotalCount;

    /**
     * 课程进度 已听完视频/所有视频
     */
    private String listenProgress;

    /**
     * 章节练习进度
     */
    private String exerciseProgress;

    /**
     * 课程开始时间 针对直播课/线下课
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lessonStartTime;

    /**
     * 课程结束时间 针对直播课/线下课
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lessEndTime;

    /**
     * 子类结构
     */
    private List<ApiCustomerUserCourseStructureRes> children;

}
